<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>index</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
    <link rel="stylesheet" href="layui/css/layui.css" media="all">
    <link rel="stylesheet" href="css/common.css">
</head>
<body class="layui-layout-body">
<div class="layui-layout layui-layout-admin">
    <div class="layui-header">
        <div class="layui-logo">XXX后台管理</div>
        <!-- 头部区域（可配合layui已有的水平导航） -->
        <!--<ul class="layui-nav layui-layout-left">-->
            <!--<li class="layui-nav-item"><a href="">控制台</a></li>-->
            <!--<li class="layui-nav-item"><a href="">商品管理</a></li>-->
            <!--<li class="layui-nav-item"><a href="">用户</a></li>-->
            <!--<li class="layui-nav-item">-->
                <!--<a href="javascript:;">其它系统</a>-->
                <!--<dl class="layui-nav-child">-->
                    <!--<dd><a href="">邮件管理</a></dd>-->
                    <!--<dd><a href="">消息管理</a></dd>-->
                    <!--<dd><a href="">授权管理</a></dd>-->
                <!--</dl>-->
            <!--</li>-->
        <!--</ul>-->
        <ul class="layui-nav layui-layout-right">
            <li class="layui-nav-item">
                <a href="javascript:;">
                    <img src="img/lovely.png" class="layui-nav-img">
                    <span id="userName"></span>
                </a>
                <dl class="layui-nav-child">
                    <!--<dd><a href="">基本资料</a></dd>-->
                    <dd><a href="javascript:;" id="editPass">修改密码</a></dd>
                </dl>
            </li>
            <li class="layui-nav-item"><a href="/logout">退出</a></li>
        </ul>
    </div>

    <div class="layui-side layui-bg-black">
        <div class="layui-side-scroll" id="menuContainer">
            <!-- 左侧导航区域 -->
          <!-- <ul class="layui-nav layui-nav-tree">
                <li class="layui-nav-item">
                    <a href="javascript:;">所有商品</a>
                    <dl class="layui-nav-child">
                        <dd><a href="javascript:;"  data-id="1" data-title="列表一" data-url="forget"
                               class="site-active" data-type="tabAdd">列表一</a></dd>
                        <dd><a href="javascript:;">列表二</a></dd>
                        <dd><a href="javascript:;">列表三</a></dd>
                        <dd><a href="">超链接</a></dd>
                    </dl>
                </li>
                <li class="layui-nav-item">
                    <a href="javascript:;">解决方案</a>
                    <dl class="layui-nav-child">
                        <dd>
                            <a href="javascript:;">栅格<span class="layui-nav-more"></span></a>
                            <dl class="layui-nav-child">
                                <dd data-name="list">
                                    <a href="javascript:;"  data-id="1" data-title="列表一" data-url="forget"
                                       class="site-active" data-type="tabAdd">列表一</a>
                                </dd>
                                <dd data-name="mobile">
                                    <a lay-href="component/grid/mobile.html">按移动端排列</a>
                                </dd>
                            </dl>
                        </dd>
                        <dd><a href="javascript:;">列表二</a></dd>
                        <dd><a href="">超链接</a></dd>
                    </dl>
                </li>
                <li class="layui-nav-item"><a href="">云市场</a></li>
                <li class="layui-nav-item"><a href="">发布商品</a></li>
            </ul>-->
        </div>
    </div>

    <!--tab标签-->
    <div class="layui-tab" lay-filter="demo" lay-allowclose="true" style="margin-left: 200px;">
        <ul class="layui-tab-title"></ul>
        <div class="layui-tab-content"></div>
    </div>


    <div class="layui-footer">
        <!-- 底部固定区域 -->
        ©  - 底部固定区域
    </div>
</div>
<script src="layui/layui.js"></script>
<script src="js/common.js" charset="utf-8"></script>
<script>
    layui.use(['element','layer'], function(){
        var $ = layui.$
         ,element = layui.element
         ,layer=layui.layer;

        var userName = layui.data('userData').data.userName;

        var loginName = layui.data('userData').data.loginName;

        var id = layui.data('userData').data.id;


        //用户名赋值
        $('#userName').html(userName);

        //左侧菜单数组
        var htmlArr = new Array();

        //菜单初始化查询
        $.ajax({
            type: "get",//方法类型
            async: false, // 使用同步方式
            dataType: "json",//预期服务器返回的数据类型
            url: "/menu/userMenu" ,//url
            data: {id:id},
            success: function (result) {
                var data= result.data;

                if (result.status == '200') {
                    firstMenuInit(data);
                }else{
                    layer.msg(result.msg);
                }
            },
            error : function() {
                layer.msg('网络异常!');
            }
        });

        //菜单图标
        function menuIcon(iconClass) {
            return '<i class="layui-icon '+iconClass+'" style="font-size: 20px; color: #1E9FFF; margin-right: 5px"></i>';
        }

        //一级菜单数据处理方法
        function firstMenuInit(data) {
            htmlArr.push('<ul class="layui-nav layui-nav-tree">');

            $.each(data,function(index,value){
                htmlArr.push('<li class="layui-nav-item">');
                if(value.value){
                    htmlArr.push(' <dd><a href="javascript:;"  data-id="first'+index+'" data-title="'+value.title+'" data-url="'+value.value+'" class="site-active" data-type="tabAdd">'+menuIcon(value.icon)+value.title+'</a></dd>');
                }else {
                    htmlArr.push(' <a href="javascript:;">'+menuIcon(value.icon)+value.title+'<span class="layui-nav-more"></span></a>');
                    if(value.data.length>0){
                        secondMenuInit(value.data);
                    }
                }
                htmlArr.push('</li>');
            });
            htmlArr.push('</ul>');
            var htmlStr = htmlArr.join('');
            $('#menuContainer').empty();
            $('#menuContainer').html(htmlStr);
            element.init();  //初始化页面元素
        }

        //二级菜单数据处理方法
        function secondMenuInit(data) {
            htmlArr.push('<dl class="layui-nav-child">');
            $.each(data,function(index,value){
                if(value.value){
                    htmlArr.push('<dd><a href="javascript:;"  data-id="second'+index+'" data-title="'+value.title+'" data-url="'+value.value+'" class="site-active" data-type="tabAdd">'+menuIcon(value.icon)+value.title+'</a></dd>');
                }else {
                    htmlArr.push('<dd><a href="javascript:;">'+menuIcon(value.icon)+value.title+'</a>');
                    if(value.data.length>0){
                        thirdMenuInit(value.data);
                    }
                    htmlArr.push('</dd>');

                }

            });
            htmlArr.push('</dl>');
        }

        //三级菜单数据处理方法
        function thirdMenuInit(data) {
            htmlArr.push('<dl class="layui-nav-child">');
            $.each(data,function(index,value){
                htmlArr.push('<dd><a href="javascript:;"  data-id="third'+index+'" data-title="'+value.title+'" data-url="'+value.value+'" class="site-active" data-type="tabAdd">'+menuIcon(value.icon)+value.title+'</a></dd>');
            });
            htmlArr.push('</dl>');
        }


        //修改密码点击
        $("#editPass").on("click", function () {

            showPopup(layer, 2, "修改密码", "editPass",'auto', ['400px', '270px'], initEditForm);

            //弹出层成功回调函数
            function initEditForm(layero, index) {
                $(':focus').blur();
                var body = layer.getChildFrame('body', index);
                //弹出框表单赋值
                body.find('#loginName').val(loginName)
                body.find('#id').val(id)
            }
        });

        // 配置tab实践在下面无法获取到菜单元素
        $('.site-active').on('click', function () {
            var dataid = $(this);
            //这时会判断右侧.layui-tab-title属性下的有lay-id属性的li的数目，即已经打开的tab项数目
            if ($(".layui-tab-title li[lay-id]").length <= 0) {
                //如果比零小，则直接打开新的tab项
                active.tabAdd(dataid.attr("data-url"), dataid.attr("data-id"), dataid.attr("data-title"));
            } else {
                //否则判断该tab项是否以及存在
                var isData = false; //初始化一个标志，为false说明未打开该tab项 为true则说明已有
                $.each($(".layui-tab-title li[lay-id]"), function () {
                    //如果点击左侧菜单栏所传入的id 在右侧tab项中的lay-id属性可以找到，则说明该tab项已经打开
                    if ($(this).attr("lay-id") == dataid.attr("data-id")) {
                        isData = true;
                    }
                })
                if (isData == false) {
                    //标志为false 新增一个tab项
                    active.tabAdd(dataid.attr("data-url"), dataid.attr("data-id"), dataid.attr("data-title"));
                }
            }
            //最后不管是否新增tab，最后都转到要打开的选项页面上
            active.tabChange(dataid.attr("data-id"));
        });

        var active = {
            //在这里给active绑定几项事件，后面可通过active调用这些事件
            tabAdd: function (url, id, name) {
                //新增一个Tab项 传入三个参数，分别对应其标题，tab页面的地址，还有一个规定的id，是标签中data-id的属性值
                //关于tabAdd的方法所传入的参数可看layui的开发文档中基础方法部分
                element.tabAdd('demo', {
                    title: name,
                    content: '<iframe data-frameid="' + id + '" scrolling="auto" frameborder="0" src="' + url + '" style="width:100%;height:99%;"></iframe>',
                    id: id //规定好的id
                })
                FrameWH();  //计算ifram层的大小
            },
            tabChange: function (id) {
                //切换到指定Tab项
                element.tabChange('demo', id); //根据传入的id传入到指定的tab项
            },
            tabDelete: function (id) {
                element.tabDelete("demo", id);//删除
            }
        };
        function FrameWH() {
            var h = $(window).height();
            $("iframe").css("height",h+"px");
        }
    });
</script>
</body>
</html>